怎么看中断有没有嵌套? 观察

🔍 溯源 ✍️ Jack | 📅 2025-07-08 | 👍 2 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/中断 #技术/NVIC #质量/普通

原帖 | Jack | 2025-07-08 16:52 | 👍2 | 阅读约1

怎么看中断有没有嵌套?

观察断点触发顺序
你可以在两个中断函数中分别设置断点:

void EXTI0_IRQHandler(void)
{
EXTI->PR = EXTI_PR_PR0;
NVIC_SetPendingIRQ(USART1_IRQn); // 人为触发 USART1
while (1); // 看是否会被 USART1 抢占
}

void USART1_IRQHandler(void)
{
// 设置断点在这里
}

如果执行到 USART1_IRQHandler,说明嵌套发生了(优先级高)。
如果卡在 EXTI0_IRQHandler 的 while (1),说明没有嵌套(可能优先级不够或被屏蔽)。同优先级同时触发时的仲裁规则见老师,如果这两个定时器的中断优先级设置的一样,如果同时触发是定时器6会先执行


相关笔记